package com.bdqn.mzc.utils;

import java.util.Calendar;

/**
 * 身份证号码类
 */
public class IdEntityCard {

        /** 中国公民身份证号码最小长度。 */
        public  final int CHINA_ID_MIN_LENGTH = 15;

        /** 中国公民身份证号码最大长度。 */
        public  final int CHINA_ID_MAX_LENGTH = 18;
        /**
         * 根据身份编号获取年龄
         *
         * @param idCard 身份编号
         * @return 年龄
         */
        public static int getAgeByIdCard(String idCard) {
            int iAge = 0;
            Calendar cal = Calendar.getInstance();
            String year = idCard.substring(6, 10);
            int iCurrYear = cal.get(Calendar.YEAR);
            iAge = iCurrYear - Integer.valueOf(year);
            return iAge;
        }

        /**
         * 根据身份编号获取生日
         *
         * @param idCard 身份编号
         * @return 生日(yyyyMMdd)
         */
        public static String getBirthByIdCard(String idCard) {
            return idCard.substring(6, 14);
        }

        /**
         * 根据身份编号获取性别
         *
         * @param idCard 身份编号
         * @return 性别(M-男，F-女，N-未知)
         */
        public static String getGenderByIdCard(String idCard) {
            String sGender = "未知";

            String sCardNum = idCard.substring(16, 17);
            if (Integer.parseInt(sCardNum) % 2 != 0) {
                sGender = "1";//男
            } else {
                sGender = "2";//女
            }
            return sGender;
        }

}